1. Technical Field
The present invention generally relates to HDCP Key Selection Vectors (KSVs), and more particularly to determining the number of KSVs that a particular HDCP source can support when connected to an HDCP switch or repeater.
2. Background Art
A typical High-Bandwidth Digital Content Protection (HDCP) system or arrangement, which complies with the High-Bandwidth Digital Content Protection System Specification, the entirety of which is incorporated herein by reference, includes an HDCP source/transmitter, such as a Blu-Ray player, an HDCP repeater, such as a home theater receiver, and one or more HDCP sinks/receiver, such as high definition LCD televisions or monitors.
An HDCP transmitter is a device that can encrypt and transmit HDCP content through one or more HDCP protected interface ports. An HDCP repeater is a device that can receive and decrypt HDCP content through one or more HDCP protected interface ports and can also re-encrypt and transmit HDCP content through one or more HDCP protected interface ports. An HDCP receiver is a device that can receive and decrypt HDCP content through one or more HDCP protected interface ports.
In operation, protected content (e.g., video from a Blu-Ray disc) is transmitted from the HDCP source (i.e., Blu-Ray player), passed through the HDCP repeater (i.e., home theater receiver), and distributed to the HDCP sinks (i.e., televisions and/or monitors).
In order for the HDCP source to transmit protected content through the HDCP repeater and to the HDCP sinks, an authentication process must first occur. According to the HDCP specification, in the authentication process, all devices that receive protected content (i.e., HDCP repeater and sinks) must provide a unique ID called a Key Selection Vector (KSV) to the upstream HDCP source.
During authentication of the HDCP repeater, the HDCP source first reads the HDCP repeater's KSV from registers on the repeater. Thereafter, in order to deliver the KSVs from the downstream sinks to the upstream source, the HDCP repeater reads the KSVs from registers on the downstream HDCP sinks and stores the read KSVs in the repeater's registers, which are read by the upstream HDCP source.
The repeater does not necessarily read a KSV from every downstream sink. For example, a sink may be connected to the HDCP system, but is turned off, or the sink is turned on but protected content is routed to it. The repeater determines that it should read a KSV from a particular sink (i.e., detects the particular sink) when that particular sink is powered on and receives protected content (i.e., has protected content routed thereto).
The HDCP source reads from the registers (disposed in the repeater) each of the KSVs originating from the downstream sinks and checks these KSVs against an HDCP Revocation List maintained by DCP, LLC (“HDCP blacklist”) in order to determine if each of the downstream sinks are licensed to receive the protected content. If all the downstream sinks are determined to be licensed to receive the protected content, the upstream source transmits the protected content. The protected content is then encrypted for each point-to-point link (source to sink connection) to prevent any external devices from intercepting and copying the protected content.
HDCP specification delineates that HDCP sources should support 127 downstream KSVs and six layers of HDCP repeaters between the source and any HDCP sinks. However, in practice, many sources support far fewer than 127 KSVs. Depending on the particular manufacturer, a typical source will support between 3 and 24 KSVs.
A problem arises when the HDCP source retrieves (i.e., reads) from the repeater registers more KSVs than it can support. Specifically, when a particular source retrieves more KSVs than it is configured or designed to support, the particular source will stop transmitting content to all downstream sinks. In this case, a user connecting together an HDCP compliant video system is unlikely to realize, or be able to determine, that the reason none of the downstream sinks (e.g., LCDs) display the protected content is because the HDCP source cannot support the number of KSVs retrieved from the repeater registers.
Consequently, there exists a need for an apparatus and a method for determining the number of KSVs a particular HDCP source can support (i.e., the maximum number of downstream HDCP sinks that protected content can be routed to), and routing protected content (i.e., encrypted video) from the HDCP source to no more than the maximum number of supported downstream HDCP sinks so that transmission of protected content to the downstream sinks is not prevented or interrupted.